package com.ljf.task.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 任务明细对象  task_dat_task_detail
 *
 * @author LJF
 * @since 2025-07-23
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("任务明细")
@TableName("task_dat_task_detail")
@EqualsAndHashCode(callSuper = true)
public class TaskDatTaskDetail extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link TaskDatTaskDetail#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(13)
	 * 注释: 编码
	 * {@link TaskDatTaskDetail#COL_CODE}
	 */
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 明细类型(1:数据库处理;2:前端开发;3:后端开发)
	 * {@link TaskDatTaskDetail#COL_DETAIL_TYPE}
	 * {@link com.ljf.task.enums.TaskDatTaskDetailDetailTypeEnum}
	 */
	@TableField("detail_type")
	@JsonProperty("detailType")
	@ApiModelProperty(value = "明细类型")
	private Integer detailType;

	/**
	 * Java类型: Integer
	 * 数据库类型: smallint unsigned
	 * 注释: 排序
	 * {@link TaskDatTaskDetail#COL_SORT}
	 */
	@TableField("sort")
	@JsonProperty("sort")
	@ApiModelProperty(value = "排序")
	private Integer sort;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(50)
	 * 注释: 标题
	 * {@link TaskDatTaskDetail#COL_TITLE}
	 */
	@TableField("title")
	@JsonProperty("title")
	@ApiModelProperty(value = "标题")
	private String title;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(200)
	 * 注释: 操作内容
	 * {@link TaskDatTaskDetail#COL_CONTENT}
	 */
	@TableField("content")
	@JsonProperty("content")
	@ApiModelProperty(value = "操作内容")
	private String content;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 明细状态(1:待处理;2:处理中;3:已完成)
	 * {@link TaskDatTaskDetail#COL_DETAIL_STATUS}
	 * {@link com.ljf.task.enums.TaskDatTaskDetailDetailStatusEnum}
	 */
	@TableField("detail_status")
	@JsonProperty("detailStatus")
	@ApiModelProperty(value = "明细状态")
	private Integer detailStatus;


	/**
	 * ID
	 * {@link TaskDatTaskDetail#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link TaskDatTaskDetail#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 明细类型(1:数据库处理;2:前端开发;3:后端开发)
	 * {@link TaskDatTaskDetail#detailType}
	 */
	public static final String COL_DETAIL_TYPE = "detail_type";
	/**
	 * 排序
	 * {@link TaskDatTaskDetail#sort}
	 */
	public static final String COL_SORT = "sort";
	/**
	 * 标题
	 * {@link TaskDatTaskDetail#title}
	 */
	public static final String COL_TITLE = "title";
	/**
	 * 操作内容
	 * {@link TaskDatTaskDetail#content}
	 */
	public static final String COL_CONTENT = "content";
	/**
	 * 明细状态(1:待处理;2:处理中;3:已完成)
	 * {@link TaskDatTaskDetail#detailStatus}
	 */
	public static final String COL_DETAIL_STATUS = "detail_status";

}
